\section{Future Work}
\label{sec:futurework}
There are numerous improvements we would like to make to \sysname{} in the
future. Redundancy is nice for increased reliability, but also uses more
bandwidth than is needed. If all data travelling across an edge is discarded
every time we should perform pruning to limit the amount of wasted data we send.
We don't need to break the links in case something goes wrong with a better
link, but any time we can reduce information transfer within the data center we
should try. As mentioned in section \ref{sec:clustering} there are various ways
we can improve clustering over our current method of just counting the number of
clients attached.

\section{Conclusions}
\label{sec:conclusion}

We have designed a push-based multicast overlay system designed to be a backend
for a multi-channel content distributors. \sysname{} is designed to run on a
cluster of servers and requires little configuration to get started. \sysname{}
self-organizes the cluster into multiple mini-meshes that serve a single content
stream and use resources proportional to their viewership. We built a model that
observes that our distributed organization method is able to generate ``good''
clusters $99.95$\% of the time, even for larger sized clusters. In addition we
built a prototype that allowed us to understand the feasibility of such a
system. While only a prototype, it was designed to have as much
parallelizability between network operations so a server can support
streaming to clients and participate in these mini-meshes.
